package com.gsafety.wellsfort.service.organization;

import com.gsafety.wellsfort.common.util.ApiResponse;
import com.gsafety.wellsfort.domain.model.organization.Student;
import com.gsafety.wellsfort.domain.vo.StudentQueryVO;
import com.gsafety.wellsfort.domain.vo.StudentResultVO;
import com.gsafety.wellsfort.domain.vo.StudentVO;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface IStudentService {
    ApiResponse add(StudentVO studentVO);

    Integer addStudent(Student student);

    ApiResponse update(StudentVO studentVO);

    ApiResponse delete(Integer studentId);

    Student get(Integer id);

    ApiResponse<List<StudentResultVO>> list(StudentQueryVO studentQueryVO);

    Student getByLoginId(Integer loginId);

    Student getAllByLoginId(Integer loginId);


    Integer  unBindAccount(Integer loginId);

    Integer bindAccount(Integer studentId,Integer loginId);

    ApiResponse batchAddStudent(List<StudentVO> list, Integer schoolId, Integer classId);

    Integer count();

    Integer countStartTimeByRange(Date start, Date end);

    Integer  deleteByParam(Map<String, Object> params);

    List<Student> selectByExt2(String ext2);

    void updateSetExt2(Student student);
}
